package com.ylbh.modules.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ylbh.common.exception.NormalException;
import com.ylbh.common.pojo.member.dto.BusinessAnalysisDTO;
import com.ylbh.common.pojo.member.dto.MemberDTO;
import com.ylbh.common.utils.PageDTO;
import com.ylbh.common.utils.PageUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author: czx
 * @date: 2019/07/24 11:25
 * 会员分析
 */
public interface MembershipAnalysisService extends IService<MemberDTO> {

    /**
     * 会员活跃度列表
     * @return
     */
    PageUtils queryMembershipActivityList(BusinessAnalysisDTO businessAnalysisDTO) throws IOException;

    /**
     * 联盟店消费信息列表
     * @param businessAnalysisDTO
     * @return
     */
    PageUtils queryBusinessAnalysisList(BusinessAnalysisDTO businessAnalysisDTO);

    /**
     * 商城订单信息列表
     * @param pageDTO
     * @return
     */
    PageUtils queryGoodsAnalysisList(BusinessAnalysisDTO businessAnalysisDTO);

    /**
     * 导出会员活跃度
     * @param request
     * @param response
     */
    void membershipActivityListExcel(HttpServletRequest request, HttpServletResponse response) throws NormalException;

    /**
     * 商城订单分析导出
     * @param request
     * @param response
     */
    void orderAnalysisOfMallExcel(HttpServletRequest request, HttpServletResponse response) throws NormalException;

    /**
     * 联盟店订单分析导出
     * @param request
     * @param response
     */
    void orderAnalysisOfAllianceStores(HttpServletRequest request, HttpServletResponse response) throws NormalException;
}
